Mobile multimedia communication is desired by many, whether in the form of video telephone calls, video conferencing, mobile reception of web casts of audio and/or video streams. However, there are several bottlenecks need to be addressed before mobile multimedia communication can be achieved. Additionally, multimedia communication experiences similar bottlenecks in other radio links. Before discussing the invention, it is useful to survey the prior art for a summary of contemporary approaches to solving these problems.
The first bottleneck concerns multimedia communication bandwidth requirements. New packet based cellular network standards as well as non-cellular standards are addressing this bottleneck. The packet based cellular network standards include GSM/GPRS, WCDMA, CDMA2000, and HDR. The non-cellular standards include Bluetooth, IEEE 802-11a/b and Hiperlan.
A second, significant bottleneck to mobile multimedia communication is energy consumption. As radios built for mobile multimedia communication are frequently powered primarily by battery, the energy consumed must be minimal. Energy consumption in such radio systems is predominantly composed of computation energy and communication energy. The computation energy refers to the energy consumed in processing information to be transmitted and/or received. The communication energy refers to the energy consumed in wirelessly transferring information. Both computation energy and communication energy requirements can be very high.
Note that fixed station radios may also experience energy consumption bottlenecks. These bottlenecks may also be due to battery limitations, but are more often due to energy limitations in amplifiers and computation energy consumption.
A third bottleneck to mobile multimedia communication is channel noise. As the number of mobile users increase in a neighborhood, the interference between users will also increase, causing more channel noise. While several methods exist for overcoming the effects of channel noise, more bandwidth and energy are required to implement these methods. Such methods include Automatic-repeat-ReQuest (ARQ) schemes and channel coding.
The conditions and requirements of wireless multimedia communication vary. This fact can be used to overcome the bandwidth and energy bottlenecks. Variations in channel conditions may be due to user mobility, changing terrain, and so on. For example, the Signal to Interference Ratio (SIR) for cellular phones varies by as much as 100 dB, as a function of cellular phone's distance from the base station.
The Quality of Service (QoS) and Quality of Multimedia Data (QoMD) required during multimedia communication changes depending on the current multimedia service. QoS is often measured in terms of latency and/or Bit Error Rate (BER). By way of example, video telephony and web browsing have different QoS (latency) and QoMD (quality) requirements.
Mobile multimedia communication is usually discussed in terms of several OSI communication layers.                OSI layer one is often known as the physical layer and acts to physically transfer data through at least one physical medium.        OSI layer two is the data link layer, which transfers data between the network layer (three) and the physical layer (one). The data link layer manages the physical communication between connecting systems. This layer includes two sublayers: a Media Access Control (MAC) sublayer and the Logical Link Control (LLC) sublayer. The MAC sublayer controls how a link in a network gains access to data and permission to transfer that data across the network. The LLC sublayer controls frame synchronization, flow control and error checking.        OSI layer three is the network layer, which provides switching and routing capabilities, creating logical paths, often known as virtual circuits, for transferring data between nodes of a network. This layer provides routing, forwarding, as well as, addressing, internetworking, error handling, congestion control and packet sequencing functions.        OSI layer four is the transport layer, which provides transparent transfer of data between end systems, ensuring complete data transfer.        OSI layer five is the session layer, which establishes, manages, and terminates connections between applications at various ends of a network.        OSI layer six is the presentation layer, which provides independence from different data representation, such as encryption, by translating between the application layer and the network layer.        OSI layer seven is the application layer, which supports application and end user processes. Typical activities of this level include user authentication, file transfers, e-mail, and other network-based services, such as video conferencing and web browsing.        
Wireless data communication devices typically transfer data without knowing the type of data being transferred. In many cases, isolating the various communication functions at each protocol layer is useful. New communications protocols and applications can be added without altering the lower layers of the protocol, such as radio and packet framing. However, this approach of isolating the functions of different layers has limited ability to optimize power consumption, bandwidth efficiency or other constrained resources. What is needed are methods and devices with improved ability to optimize constrained resources, including at least power consumption and bandwidth latency.
Several methods have been proposed for optimizing layers three and four. The optimization of a TCP/IP based wireless communication system has been variously proposed using two basic approaches. The first approach hides the non-congestion related losses from the TCP sender. The second approach makes the sender aware of losses not due to congestion, which can be summarized as wireless hop and losses.
These two TCP/IP based wireless optimization methods have been implemented using three main algorithms. The first algorithm uses a transport layer end-to-end approach. The second algorithm uses a splitting of the connection between the wireless channel and the network. The third algorithm uses a data link layer approach.
For the Transport Layer approach, the degraded performance of TCP over wireless links is mostly due to mistaking wireless losses for congestion. There are numerous proposals for modifying the TCP protocol.
During handoffs in cellular systems, packets may be delayed or even lost. R. Cáceres and L. Iftode, “Improving the performance of reliable transport protocols in mobile computing environments,” IEEE Journal on Selected Areas in Communications, vol. 13, no. 5, June 1995 pp. 850-857 makes the proposal that recovery from these losses should be initiated right after handoff completion, without waiting for a timeout. TCP can achieve this by receiving appropriate signals from lower layers.
Alternatively, TCP can exploit mobility hints from lower layers to heuristically distinguish losses due to handoffs. For these losses, TCP can avoid having the slow start threshold during recovery, thus skipping the congestion avoidance phase.
K. Brown and S. Singh, “M-TCP: TCP for mobile celullar networks,” Computer Communications Review, vol. 27, no. 5, October 1997, pp. 19-43 proposes that the wireless link endpoints choke TCP senders during handoffs, by transparently closing the receiver's advertised window. The sender then freezes all pending timers and starts periodically probing the receiver's window. However, there is a problem. By shrinking the advertised window, M-TCP violates TCP guidelines.
For the Split Connection solutions, after handoffs, congestion avoidance helps probe the capacity of the new link. With other wireless losses, retransmissions are sufficient for recovery.
However, end-to-end retransmissions are slow. A. Bakre and B. R. Badrinath, “Implementation and performance evaluation of Indirect-TCP,” IEEE Transactions on Computers, vol. 46, no. 3, March 1997, pp. 260-278, proposed splitting TCP connections using as pivot points, routers connected to both wireless and wired links.
In the split connection scheme, end-to-end connections are decomposed into separate TCP sessions for the wired and wireless parts of the path. A separate protocol, optimized for error recovery, may be substituted over the wireless links.
There are some problems with the split connection approach. Split schemes violate end-to-end TCP semantics, since acknowledgments may reach the sender before data packets reach their destination. To preserve TCP semantics, acknowledgments must be delayed, thus reducing throughput. Pivot points face significant overhead, since packets undergo TCP processing twice, and considerable per connection state memory must be maintained there.
R. Ludwig and R. H. Katz, in “The Eifel algorithm: making TCP robust against spurious retransmissions,” Computer Communications Review, vol. 30, no. 1, January 2000, pp. 30-36, proposed the Eifel scheme.
The Eifel scheme modifies TCP so as to avoid the spurious timeouts and fast retransmits due to handoffs or delayed data link layer retransmissions. Since these problems are due to TCP's inability to distinguish between acknowledgments for original packet transmissions and retransmissions, Eifel adds TCP timestamps to outgoing packets. Timestamps are echoed in acknowledgments, thus allowing spurious timeouts to be readily avoided, without changing TCP semantics.
However, end-to-end TCP recovery is not accelerated.
While TCP enhancement schemes would be attractive if only the endpoints needed modifications, in practice additional changes are needed. Some approaches require signaling from lower layers to detect handoffs. Other approaches require software to be installed and states to be maintained at pivot points.
In addition, split TCP schemes need alternative, TCP compatible, protocols to be deployed over wireless links for more efficient error recovery.
For the data link layer solutions, instead of modifying TCP, wireless losses are hidden from it. In cellular systems this is achieved by non-transparent mode Radio Link Protocols (RLPs). George Xylomenos, George C. Polyzos, “Link Layer Support for Quality of Service on Wireless Internet Links”, Center for Wireless Communications & Computer Systems Laboratory, UCSD proposed such a data link layer solution, known as Acknowledged mode RLC for the Wideband Code Division Multiple Access protocol, (W-CDMA).
Another solution is to perform local error recovery, a data link layer task, at the IP level, as Snoop TCP, proposed by H. Balakrishnan, V. N. Padmanabhan, S. Seshan, and R. H. Katz, in “A comparison of mechanisms for improving TCP performance over wireless links,” Proceedings of the ACM SIGCOMM '96, August 1996, pp. 256-269.
Snoop tracks TCP data and acknowledgments by maintaining state for each TCP connection traversing a pivot point. Snoop caches unacknowledged TCP packets and uses the loss indications conveyed by duplicate acknowledgments, plus local timers, to transparently retransmit lost data. It hides duplicate acknowledgments indicating wireless losses from the TCP sender, thereby preventing redundant TCP recovery. Snoop exploits the information present in TCP packets to avoid data link layer control overhead.
Balakrishnan, et. al. report that the Snoop approach outperforms split TCP schemes, without violating TCP semantics.
A. DeSimone, M. C. Chuah, and O. C. Yue, in “Throughput performance of transport-layer protocols over wireless LANs,” Proceedings of the IEEE GLOBECOM '93, December 1993, pp. 542-549, report that the Snoop approach also avoids conflicting local and TCP retransmissions by suppressing duplicate TCP acknowledgments.
There are some problems and difficulties associated with the Snoop approach. Snoop requires the TCP receiver to be located right after the pivot point.
In the Snoop approach, if a wireless host is sending data to a remote receiver, TCP acknowledgments are returned too late for efficient recovery, and they may even signify congestion losses. In this situation, Explicit Loss Notification (ELN) is needed for TCP to distinguish between congestion and wireless losses. If the Snoop agent detects a non congestion related loss, it sets an ELN bit in TCP headers and propagates it to the receiver, which echoes it back to the sender.
Snoop can use queue length information to heuristically distinguish congestion from wireless errors. When receiving an ELN notification, the TCP sender retransmits the lost packet without invoking congestion control. Although ELN is applicable to most topologies, it requires changes to router algorithms.
Also in the Snoop approach, a lost packet can only be retransmitted after a round trip time has elapsed, when an acknowledgment with the ELN bit set is returned.
Cellular system Radio Link Protocols (RLPs) avoid the layering violations of Snoop, which examines TCP headers at the IP level. However, DeSimone et. el. Report that they may retransmit data in parallel with TCP.
R. Ludwig, B. Rathonyi, A. Konrad, K. Oden, and A. D. Joseph, in “Multi-layer tracing of TCP over a reliable wireless link,” Proceedings of the ACM SIGMETRICS '99, June 1999, pp. 144-154, that this occurs rarely with fully reliable RLPs. It is prevented by RLPs that abandon error recovery after some failed attempts.
Link layer schemes operate at the local level with low round trip delays that allow fast recovery, in contrast to TCP modifications. Their main limitation is that they offer a single level of recovery, which may not be appropriate for all higher layer protocols and applications.
Michele Zorzi, Michele Rossi, Gianluca Mazzini, in “Throughput and energy performance of TCP on a Wideband CDMA air interface”, Dipartimento di Ingegneria, Universit' a di Ferrara, Italy, present a study on the performance of TCP, in terms of both throughput and energy consumption, in the presence of a Wideband CDMA radio interface.
In Zorzi, et. al., no RLP was considered as it was assumed that Transparent Mode was used. The results show that the relationship between TCP throughput and average error rate (block error probability) is largely independent of the network load, making it possible to introduce a universal throughput curve, empirically characterized, which gives throughput predictions for each value of the user error probability.
Another main conclusion of the Zorzi et. al. study is that an optimal value of power control threshold exists, potentially leading to significant energy savings in return for very small throughput degradation. The study also indicates that power savings at the higher level depend on lower layer tweaks.
TCP/IP support will allow all these wireless systems to interoperate by becoming parts of the Internet. The next step is to provide direct interoperability between wireless systems by allowing users to transparently move not only between cells within the same system, but also from one system to another, depending on the services and coverage available.
In these unified hierarchical cellular systems, large cells will be overlaid by multiple smaller cells in areas with increased user concentrations. Since handoffs momentarily disrupt connectivity with adverse effects on TCP performance, hierarchical cellular systems must be carefully designed to avoid increasing the severity of handoff induced problems.
The small area and high data rates of microcells will lead to more frequent handoffs and potentially increased losses during each handoff.
Handoffs between different systems may also dramatically change the performance of underlying wireless links.
To reduce the severity of these problems, one approach is to exploit co-operation between layers so as to enable protocols to adapt their behavior as needed. Intensive research is directed towards adaptive data link layers that provide information to higher layers in an orderly fashion.
The European Union WINE project is studying protocol adaptivity and link dependent configuration so as to optimize IP performance over wireless links, without exposing lower layer details to TCP.
A protocol enhancing proxy approach has been developed in the Wireless Adaptation Layer (WAL), to handle automatic adaptivity. The emerging software radios, which allow the configuration of physical and data link layer parameters in real time, will further enhance link adaptivity, hence protocol adaptivity will become even more important in the future.
There have been successful implementations optimizing specific layers for such as channel conditions or QoS, but these solutions only understand limited portions of the overall system. Still other optimization approaches have focused on computation energy only, and not a combination of commutation energy and communications energy.
What is needed is a solution that can understand the complex relationships of the acquisition, transmission, reception, and outputting of data to optimize on specific constrained resources or any combination of these constrained resources.
There are significant limitations in prior art devices using only a single protocol layer for an optimization method. One such limitation has been the encryption that is often done on the data before the data is made available to OSI Layer 4 and below. TCP packet sizes and window sizes (OSI Layer 4), IP packet sizes (OSI Layer 3), and Packet Data Units (OSI Layer 2) are not able to provide optimum transmission values because the data unit sizes are not adjusted for the transmission path. These layers are not able to probe the data stream since the encryption mechanism has hidden any attempt at understanding the data contents.
Mechanisms and methods are needed supporting encryption and packet parameterization that take into account the protocol layers from the physical layer one through transport layer four, such as TCP.